import { KSpaceConfig, UploadOptions, UploadResult, FileInfo } from './index';

// KSpace客户端接口
export interface IKSpaceClient {
  // 初始化配置
  config: KSpaceConfig;
  
  // 上传文件方法
  upload(options: UploadOptions): Promise<UploadResult>;
  
  // 批量上传文件方法
  uploadFiles(files: Array<Omit<UploadOptions, 'file'>> & { file: File | Buffer }[]): Promise<UploadResult[]>;
  
  // 获取文件信息方法
  getFileInfo(key: string): Promise<FileInfo>;
  
  // 删除文件方法
  deleteFile(key: string): Promise<boolean>;
  
  // 生成文件URL方法
  getFileUrl(key: string, expires?: number): string;
  
  // 列出文件方法
  listFiles(prefix?: string, maxKeys?: number): Promise<FileInfo[]>;
}